// --------------------------------------------------------------------------------------------
// Version: MPL 1.1/GPL 2.0/LGPL 2.1
// 
// The contents of this file are subject to the Mozilla Public License Version
// 1.1 (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
// 
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
// 
// <remarks>
// Generated by IDLImporter from file nsIScriptableUnescapeHTML.idl
// 
// You should use these interfaces when you access the COM objects defined in the mentioned
// IDL/IDH file.
// </remarks>
// --------------------------------------------------------------------------------------------
namespace Gecko
{
	using System;
	using System.Runtime.InteropServices;
	using System.Runtime.InteropServices.ComTypes;
	using System.Runtime.CompilerServices;
	
	
	/// <summary>
    /// This interface is OBSOLETE and exists solely for legacy extensions.
    /// </summary>
	[ComImport()]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	[Guid("3ab244a9-f09d-44da-9e3f-ee4d67367f2d")]
	public interface nsIScriptableUnescapeHTML
	{
		
		/// <summary>
        /// Converts HTML to plain text. This is equivalent to calling
        /// nsIParserUtils::convertToPlainText(src,
        /// nsIDocumentEncoder::OutputSelectionOnly |
        /// nsIDocumentEncoder::OutputAbsoluteLinks, 0).
        ///
        /// You should call nsIParserUtils::convertToPlainText() instead of calling
        /// this method.
        ///
        /// @param src The HTML string to convert to plain text.
        /// </summary>
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
		void Unescape([MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "Gecko.CustomMarshalers.AStringMarshaler")] nsAStringBase src, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "Gecko.CustomMarshalers.AStringMarshaler")] nsAStringBase retval);
		
		/// <summary>
        /// Parses markup into a sanitized document fragment. This is equivalent to
        /// calling nsIParserUtils::parseFragment(fragment, 0, isXML, baseURI,
        /// element).
        ///
        /// You should call nsIParserUtils::parseFragment() instead of calling this
        /// method.
        /// @param fragment the input markup
        /// @param isXML true if |fragment| is XML and false if HTML
        /// @param baseURI the base URL for this fragment
        /// @param element the context node for the fragment parsing algorithm
        /// </summary>
		[return: MarshalAs(UnmanagedType.Interface)]
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
		nsIDOMDocumentFragment ParseFragment([MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "Gecko.CustomMarshalers.AStringMarshaler")] nsAStringBase fragment, [MarshalAs(UnmanagedType.U1)] bool isXML, [MarshalAs(UnmanagedType.Interface)] nsIURI baseURI, [MarshalAs(UnmanagedType.Interface)] nsIDOMElement element);
	}
}
